<?php

namespace app\api\controller;

use think\Controller;

/**
 * 后台基类-控制器
 * Class Backend
 * @package app\common\controller
 */
class Base extends Controller
{
    // 模型
    protected $model;
    // 服务
    protected $service;
    // 登录ID
    protected $userId;
    // 登录信息
    protected $userInfo;
    // 不需要token白名单
    protected $whiteList = ['wechat.jssdk', 'user.register'];

    /**
     * 初始化
     *
     */
    protected function initialize()
    {
        // 验证白名单
        $uri = strtolower(request()->controller() .'.'. request()->action());

        // 分页基础默认值
        defined('PERPAGE') or define('PERPAGE', request()->param('page_size') !== null ? request()->param('page_size') : 20);
        defined('PAGE') or define('PAGE', request()->param('page') !== null ? request()->param('page') : 1);

        // if (!in_array($uri, $this->whiteList) && strtolower(request()->controller()) != 'article') {
        //     // 获取Token
        //     $token = request()->header("Authorization");
        //     if ($token && strpos($token, 'Bearer ') !== false) {
        //         $token = str_replace("Bearer ", null, $token);
        //         // JWT解密token
        //         $jwt = new \Jwt();
        //         $this->userId = $jwt->verifyToken($token);
        //         if (!$this->userId) {
        //             $this->jsonError('用户授权失效，请重新登录', 403)->send(); die;
        //         }
        //     } else {
        //         $this->jsonError('用户授权失效，请重新登录', 403)->send(); die;
        //     }
        // }
    }

    /**
     * JSON返回函数
     *
     */
    public function jsonSuccess($data=[], $message='success')
    {
        return json(['code' => 200, 'data' => $data, 'message' => $message], 200, ['Content-Type' => 'application/json']);
    }

    /**
     * JSON返回函数
     *
     */
    public function jsonError($message='', $code=0)
    {
        return json(['code' => $code, 'data' => [], 'message' => $message], 200, ['Content-Type' => 'application/json']);
    }

}